package com.google.code.swingonfire.showcase.utils;

import java.awt.Component;
import java.util.EventListener;

public interface ParameterDefinition<COMPONENT_TYPE extends Component, PARAMETER_TYPE>
{

    String getName();

    Class<? extends PARAMETER_TYPE> getParameterType();

    COMPONENT_TYPE createComponent(EventListener eventListener);

    PARAMETER_TYPE getValue(COMPONENT_TYPE component);

    void setValue(COMPONENT_TYPE component, PARAMETER_TYPE value);

}
